The dynamic evolution of the Internet has led to an influx of new services, applications and technologies that are being brought to the market. With the increasing success of services such as electronic commerce applications, online news providing, online gaming, music sharing applications, and other emerging value-added services, competitive pressures dictate that companies implement a third dimension within the existing information providing technologies.
The Internet is a global computer network which comprises a vast number of computers and computer networks which are interconnected through communication links. The interconnected computers exchange information using various services, such as electronic mail, Gopher, FTP (“File Transfer Protocol”), NNTP (“Network News Transfer Protocol”), and the World Wide Web (hereinafter, the “WWW”).
The WWW allows a server computer system (a web server) to send media-filled web pages of information to a remote client computer system. The remote client computer system can then display the web pages through a browser. Underlying the user interface represented by web browsers, are the networks and the protocol that control the wires to the servers or “engines” that process requests, and return the various media. The standard protocol of the web is known as HTTP, for HyperText Transfer Protocol. HTTP stands at the very core of the World Wide Web. According to the HTTP 1.0 specification, the HyperText Transfer Protocol is an application-level protocol with the functionality necessary for distributed, collaborative, hypermedia information systems. It is a generic, object-oriented protocol which can be used for many tasks, such as name servers and distributed object management systems, through extension of its request methods (commands). One of the noted features of HTTP is data typing and negotiation of differential data representations, allowing systems to be built independently of the data being transferred.
The simplicity of the hypertext transfer protocol, the client-server paradigm, and the supporting infrastructure of the Internet, led to the development of versatile browsers such as Netscape™ and Internet Explorer™. These browsers implement “hypermedia”—multimedia capabilities such as graphics, sound, and movies, linked in a World Wide Web of hypertext. The text can be formatted in various fonts, styles, colors and sizes. Pages can contain pictures, sounds, and movies (multimedia). The technology enables server-side programming with CGI, or client-side programming with Java, Javascript, and other programming languages.
The language used for publishing hypertext on the World Wide Web is HTML (HyperText Markup Language). HTML is a non-proprietary format for describing the structure of hypermedia documents—plain text (ASCII) files with embedded codes for logical markup, using tags like <A> and </A> to structure text into tables, hypertext links, interactive forms, headings, paragraphs, lists, and more.
An alternative language that could be used is DHTML or “Dynamic HTML” which is typically used to describe the combination of HTML, style sheets and scripts that allows documents to be animated. Dynamic HTML allows a web page to change after it is loaded into the browser—there does not have to be any communication with the web server for an update. For example, a piece of text can change from one size or color to another, or a graphic can move from one location to another, in response to some kind of user action, such as clicking a button. Dynamic HTML allows manipulation of any page element, including changing styles, positioning, and content at any time. It provides a richer, more dynamic experience on web pages, making them more like dynamic applications and less like static content.
A more sophisticated version of DHTML is Microsoft's Active Server Pages™ (ASP) technology which provides a framework for building dynamic HTML pages which enable Internet and Intranet applications to be interactive. ASPs are implemented using server side scripting that can be performed in any language such as Visual Basic™, Javascript, Java or C. ASP allows interaction with ODBC compliant databases on the web server, such as: Microsoft Access™, Microsoft SQL Server™, Oracle™, Informix™, or Sybase™. ActiveX controls can optionally be used to encapsulate functions on the client computer that interact with ASP on the server. An Active Server Page is developed in a text file just like an HTML page. Developers can use any text editor to create an ASP. Both Netscape Navigator™ and Microsoft Internet Explorer™ browsers as well as other browsers can view ASP pages because the ASP is executed on the server and delivered to the client computer as simple HTML.
One of the more popular web programming languages is Java. Java is a general purpose programming language with a number of features that make the language well suited for use on the World Wide Web. It is an object-oriented language similar to C++, but simplified to eliminate language features that cause common programming errors. Small Java applications are called Java applets and can be downloaded from a Web server and run on a personal computer (PC) by a Java-compatible Web browser, such as Netscape Navigator or Microsoft Internet Explorer. Java source code files (files with a java extension) are compiled into a format called bytecode (files with a class extension), which can then be executed by a Java interpreter. Compiled Java code can run on most computers because Java interpreters and runtime environments, known as Java Virtual Machines (VMs), exist for most operating systems, including UNIX, the Macintosh OS, and Windows. Bytecode can also be converted directly into machine language instructions by a just-in-time compiler (JIT).
To make an HTML page more dynamic, Javascript statements may be imbedded directly within the HTML page. JavaScript is a compact, object-based scripting language for developing client and server Internet applications. The Javascript statements can recognize and respond to user events such as mouse clicks, form input, and page navigation. For example, a JavaScript function can be written to verify that users enter valid information into a form. Without any network transmission, an HTML page with embedded JavaScript can interpret the entered text and alert the user with a message dialog if the input is invalid. Alternatively, JavaScript can be used to perform an action (such as play an audio file, execute an applet, or communicate with a plug-in) in response to the user opening or exiting a page.
TCP/IP (Transmission Control Protocol/Internet Protocol) was designed to build an interconnection of networks that provide universal communication services such as Internetwork or Internet. Each physical network has its own technology-dependent communication interface in the form of a programming interface that provides basic communication functions. Communication services are provided by software that runs between the physical network and the user applications and provides a common interface for these applications, independent of the underlying physical network. The architecture of the physical networks are hidden from the user. TCP/IP interconnects different physical networks to form what appears to the user to be one large network. Such a set of interconnected networks is called an Internetwork or an Internet. To interconnect two networks, a computer is needed that is attached to both networks and that can forward packets from one network to the other. Such a machine is called a Router. The term IP Router is also used because the routing function is part of the IP layer of the TCP/IP protocol suite.
To be able to identify a host on the Internetwork, each host is assigned an address, the IP address. When a host has multiple network adapters, each adapter has a separate IP address. IP address consists of two parts: a network number and a host number. The network number part of the IP address is assigned by a central authority and is unique throughout the Internet. The authority for assigning the host number part of the IP address resides with the organization which controls the network identified by the network number.
An IP address may also correspond to a host name in the form of <www.hostname.com>. The Domain Name System (DNS), one of the fundamental building blocks of the Internet, is responsible for providing translation between IP addresses and host names, as well as storing other information. DNS presents a hierarchical approach to the problem of organizing the name space of large computer networks. Each element of the hierarchy is referred to as a domain. A domain can be used to refer to a computer, act as a mail address, or just be a placeholder for subdomains. At the top of the hierarchy is the root domain, known simply as “.” to DNS. Numerous subdomains can be placed underneath the root domain. For organization, subdomains can also be placed under other subdomains. Subdomains directly underneath the root domain are called top-level domains. Domains directly underneath top-level domains are called second-level domains, and so on. Any domain in the name space can be referred to by the domain names in its hierarchical path separated by dots.
Machines that store DNS information are referred to as nameservers. Other computers can query the nameservers to find out information about domains in the DNS. Each nameserver handles a specific part of the DNS. Through delegation, nameservers can allow other nameservers to handle parts of the DNS. Although DNS hierarchies can be set up for private networks, the vast majority of DNS use is by the giant hierarchy present on the Internet. Most of the use comes from name resolution, the use of DNS for determining the IP address of a machine so that communication can take place. Another important task of DNS on the Internet is reverse name resolution, or the translation of IP addresses back to domain names. Utilizing this functionality servers can determine and record the full domain name of machines connecting to them over the network.
Based on the development of current communication technology, with more and more consumer media choices and with the proliferation and the convergence of television, the internet and various other mediums, and with the growing connectivity of the Internet with wireless devices, consumers will be more and more able to customize their media streams or “channels” so that they are more and more tailored for the individual.
In the area of electronic commerce, manufacturers must provide information about their products to resellers, consumers, and others. Consumers need product information about available products to make informed buying choices. Resellers need product information to select, promote and support the products they distribute. Advertisers, product analysts, manufacturer's representatives, shippers, and others also need information about the goods with which they deal. While the advent of the World Wide Web has permitted manufacturers to make detailed, up-to-date product information available via the Internet, the information describing a specific product is often difficult to locate, particularly when the URL (uniform resource locator) of the manufacturer's website is not known. If the manufacturer does not have a website, the product will be virtually impossible to find on the internet.
The current state of the art of online catalogs is to use “shopping carts” to save items the user may be interested in purchasing for later consideration. Shopping carts are typically limited to the particular online product merchant's web site. Also, shopping carts can only be used online. Moreover, shopping carts currently in use today cannot be easily copied and shared between users.
The non-shopping environment of information exchange on the Internet may present other frustrating problems to a user. For example, the user interested in acquiring a jacket worn by Al Pacino in “Scarface” as shown in a picture recently posted in a web site, such as NBC.com, may never be able to locate any useful information about that jacket anywhere on the page.
While the sharing web page addresses has been a common practice for some time, it is not an efficient way for users to exchange and save information. When a saved web address is accessed, the user must navigate the web page to find the item of interest. Also, a web page provider may update the web page after the user has saved the address, frustrating the user's attempt to save information they considered important.
Therefore, there is a need to provide a more sophisticated information exchange system to the user, with greater ease of use and to provide a mechanism by which a user can easily save and maintain focused information on an item of their choice, without needing to repeatedly search a provider's web page. The present invention satisfies these needs.